/**
 *
 * @author Anastasiya
 *
 */

#pragma once
#include <string>

using namespace std;

enum Mode{MODE_VERBOSE, MODE_TERSE};

struct Arguments{
	Mode mode;
	const char* inputPath;
	const char* outputPath;
	const char* reportFileName;
};


Arguments* parseArgs(int argc, char* argv[]);
Arguments* defaultArguments();

bool isTerse(string arg);
bool isInput(string arg);
bool isOutput(string arg);
bool isReport(string arg);

static const string ARGUMENT_NAME_INPUT = "--input";
static const string ARGUMENT_NAME_OUTPUT = "--output";
static const string ARGUMENT_NAME_TERSE = "--terse";
static const string ARGUMENT_NAME_REPORT = "--report";

static const string MESSAGE_ARGUMENT_ERROR_INPUT_VALUE = "--input argument value not found";
static const string MESSAGE_ARGUMENT_ERROR_OUTPUT_VALUE = "--output argument value not found";
static const string MESSAGE_ARGUMENT_ERROR_REPORT_VALUE = "--report argument value not found";
static const string MESSAGE_ARGUMENT_ERROR_UNKNOWN_ARGUMENT = "Unknown argument: ";
